function FFMinstallUI () {
    var frm = document.getElementsByTagName("form")[0];
    var tbl = frm.parentNode.parentNode.parentNode.parentNode;
    
    // Create the Alliance settings
    // Create MyAlliance settings
    var row = tbl.rows[1];
    var myCell = document.createElement ("td");
    myCell.setAttribute ("style", "padding-right:0.5cm; vertical-align:top; text-align:left");
    myCell.innerHTML =  "<span style='color:#00FF00;'><b>My Friends</b></span>\
                        <div>\
                            <select size=6 style='width:6.0cm; margin-bottom:3px' id='ffm_my_friends_ally_list'></select><br>\
                            <button style='width:2.96cm; margin-bottom:3px' onclick='FFMaddMyFriendAlly(true);FFMloadMySettings();void(0);'>\
                                <span style='color:#00FF00;'><b>add</b></span>\
                            </button>\
                            <button style='width:2.96cm; margin-bottom:3px' onclick='FFMremoveMyFriendAlly();FFMloadMySettings();void(0);'>\
                                <span style='color:#00FF00;'><b>remove</b></span>\
                            </button>\
                        </div>\
                        <span style='color:#FF0000;'><b>My Foes</b></span>\
                        <div>\
                            <select size=6 style='width:6.0cm; margin-bottom:3px' id='ffm_my_foes_ally_list'></select><br>\
                            <button style='width:2.96cm; margin-bottom:3px' onclick='FFMaddMyFoeAlly(true);FFMloadMySettings();void(0);'>\
                                <span style='color:#FF0000;'><b>add</b></span>\
                            </button>\
                            <button style='width:2.96cm; margin-bottom:3px' onclick='FFMremoveMyFoeAlly();FFMloadMySettings();void(0);'>\
                                <span style='color:#FF0000;'><b>remove</b></span>\
                            </button>\
                        </div>";
    row.appendChild (myCell);
    
    // Create the Faction alliances settings
    var myCell = document.createElement ("td");
    myCell.setAttribute ("style", "padding-right:0.5cm; vertical-align:top; text-align:left");
    myCell.innerHTML =  "<span style='color:#00FF00;'><b>Faction Friends</b></span>\
                        <div>\
                            <select size=6 style='width:6.0cm; margin-bottom:3px' id='ffm_faction_friends_ally_list'></select><br>\
                            <button style='width:2.96cm; margin-bottom:3px' onclick='FFMaddFFriendAlly(true);FFMloadFactSettings();void(0);'>\
                                <span style='color:#00FF00;'><b>add</b></span>\
                            </button>\
                            <button style='width:2.96cm; margin-bottom:3px' onclick='FFMremoveFFriendAlly();FFMloadFactSettings();void(0);'>\
                                <span style='color:#00FF00;'><b>remove</b></span>\
                            </button>\
                        </div>\
                        <span style='color:#FF0000;'><b>Faction Foes</b></span>\
                        <div>\
                            <select size=6 style='width:6.0cm; margin-bottom:3px' id='ffm_faction_foes_ally_list'></select><br>\
                            <button style='width:2.96cm; margin-bottom:3px' onclick='FFMaddFFoeAlly(true);FFMloadFactSettings();void(0);'>\
                                <span style='color:#FF0000;'><b>add</b></span>\
                            </button>\
                            <button style='width:2.96cm; margin-bottom:3px' onclick='FFMremoveFFoeAlly();FFMloadFactSettings();void(0);'>\
                                <span style='color:#FF0000;'><b>remove</b></span>\
                            </button>\
                        </div>";
    row.appendChild (myCell);
    
    // Create the Faction settings
    var row = tbl.rows[3];
    // Create My Faction settings
    var myCell = document.createElement ("td");
    myCell.setAttribute ("style", "padding-right:0.5cm; vertical-align:top; text-align:left");
    myCell.innerHTML =  "<span style='color:#00FF00;'><b>My Friends</b></span>\
                        <div>\
                            <select size=6 style='width:6.0cm; margin-bottom:3px' id='ffm_my_friends_fact_list'></select><br>\
                            <button style='width:2.96cm; margin-bottom:3px' onclick='FFMaddMyFriendFact(true);FFMloadMySettings();void(0);'>\
                                <span style='color:#00FF00;'><b>add</b></span>\
                            </button>\
                            <button style='width:2.96cm; margin-bottom:3px' onclick='FFMremoveMyFriendFact();FFMloadMySettings();void(0);'>\
                                <span style='color:#00FF00;'><b>remove</b></span>\
                            </button>\
                        </div>\
                        <span style='color:#FF0000;'><b>My Foes</b></span>\
                        <div>\
                            <select size=6 style='width:6.0cm; margin-bottom:3px' id='ffm_my_foes_fact_list'></select><br>\
                            <button style='width:2.96cm; margin-bottom:3px' onclick='FFMaddMyFoeFact(true);FFMloadMySettings();void(0);'>\
                                <span style='color:#FF0000;'><b>add</b></span>\
                            </button>\
                            <button style='width:2.96cm; margin-bottom:3px' onclick='FFMremoveMyFoeFact();FFMloadMySettings();void(0);'>\
                                <span style='color:#FF0000;'><b>remove</b></span>\
                            </button>\
                        </div>";
    row.appendChild (myCell);
    
    // Create the Faction Faction settings
    var myCell = document.createElement ("td");
    myCell.setAttribute ("style", "padding-right:0.5cm; vertical-align:top; text-align:left");
    myCell.innerHTML =  "<span style='color:#00FF00;'><b>Faction Friends</b></span>\
                        <div>\
                            <select size=6 style='width:6.0cm; margin-bottom:3px' id='ffm_faction_friends_fact_list'></select><br>\
                            <button style='width:2.96cm; margin-bottom:3px' onclick='FFMaddFFriendFact(true);FFMloadFactSettings();void(0);'>\
                                <span style='color:#00FF00;'><b>add</b></span>\
                            </button>\
                            <button style='width:2.96cm; margin-bottom:3px' onclick='FFMremoveFFriendFact();FFMloadFactSettings();void(0);'>\
                                <span style='color:#00FF00;'><b>remove</b></span>\
                            </button>\
                        </div>\
                        <span style='color:#FF0000;'><b>Faction Foes</b></span>\
                        <div>\
                            <select size=6 style='width:6.0cm; margin-bottom:3px' id='ffm_faction_foes_fact_list'></select><br>\
                            <button style='width:2.96cm; margin-bottom:3px' onclick='FFMaddFFoeFact(true);FFMloadFactSettings();void(0);'>\
                                <span style='color:#FF0000;'><b>add</b></span>\
                            </button>\
                            <button style='width:2.96cm; margin-bottom:3px' onclick='FFMremoveFFoeFact();FFMloadFactSettings();void(0);'>\
                                <span style='color:#FF0000;'><b>remove</b></span>\
                            </button>\
                        </div>";
    row.appendChild (myCell);
    
    // Create labels
    row = tbl.rows[0];
    var cell = document.createElement ("td");
    cell.setAttribute ("colspan", "2");
    cell.setAttribute ("style", "padding-right:0.5cm; vertical-align:c; text-align:center");
    cell.innerHTML = "<h3><b>Alliances</b></h3>";
    row.appendChild (cell);
    row = tbl.rows[2];
    var cell = document.createElement ("td");
    cell.setAttribute ("colspan", "2");
    cell.setAttribute ("style", "padding-right:0.5cm; vertical-align:top; text-align:center");
    cell.innerHTML = "<h3><b>Factions</b></h3>";
    row.appendChild (cell);
    
    // Install the server buttons
    var div = document.createElement ("div");
    div.innerHTML = "<button style='width:4.5cm; margin-bottom:3px' onclick='FFMloadFromServer();void(0);'><b>load <span style='color:lime'>F</span>/<span style='color:red'>F</span> from server</b></button>\
                    <button style='width:4.5cm; margin-bottom:3px' onclick='FFMsendToServer();void(0);'><b>send <span style='color:lime'>F</span>/<span style='color:red'>F</span> to server</b></button>";
    var hdiv = document.getElementsByTagName ("h1")[0].parentNode;
    hdiv.appendChild (div);
    // Install the source list radio buttons
    var radios = document.createElement ("form");
    radios.innerHTML = "<b>Source list:</b>\
                      <input type='radio' name='ffm_source' id='ffm_source_look' value='ffm_source_look' checked='true'/><b>Lookup</b>\
                      <input type='radio' name='ffm_source' id='ffm_source_friends' value='ffm_source_friends'/><span style='color:#00FF00'><b>Friends</b></span>\
                      <input type='radio' name='ffm_source' id='ffm_source_foes' value='ffm_source_foes'/><span style='color:#FF0000'><b>Foes</b></span><br><br>";
    hdiv.appendChild (radios);
    
    FFMloadMySettings();
    FFMloadFactSettings();
}

function FFMloadMySettings () {
    var set = localStorage.getItem ('po_ffm_my_settings');
    if (!set) return;

    // Load Friends... [Friends:Factions:Union;Federation|Alliances:The Triad;Scorpion Guard|Individuals:Bocaj;Serkses;Webxro;Carolus Rex][Foes:Factions:Empire|Alliances:The Chaos Order;Technocracy|Individuals:Baal;Tgow]
    var strs = set.split ('[Friends')[1].split("]");
    var str = strs[0];
    
    // Load Friend Factions
    var frFactions = str.split('Factions:')[1].split('|')[0];
    var frFactionsList = FFMGetList (frFactions);
    var list = document.getElementById('ffm_my_friends_fact_list');
    if (list) {
        list.innerHTML = frFactionsList;
    }
    
    // Load Friend Alliances
    var frAlly = str.split('Alliances:')[1].split('|')[0];
    var frAllyList = FFMGetList (frAlly);
    var list = document.getElementById('ffm_my_friends_ally_list');
    if (list) {
        list.innerHTML = frAllyList;
    }
    
    // Load Foes
    var str = strs[1];
    // Load Foe Factions
    var frFactions = str.split('Factions:')[1].split('|')[0];
    var frFactionsList = FFMGetList (frFactions);
    var list = document.getElementById('ffm_my_foes_fact_list');
    if (list) {
        list.innerHTML = frFactionsList;
    }
    
    // Load Foe Alliances
    var frAlly = str.split('Alliances:')[1].split('|')[0];
    var frAllyList = FFMGetList (frAlly);
    var list = document.getElementById('ffm_my_foes_ally_list');
    if (list) {
        list.innerHTML = frAllyList;
    }
}

function FFMloadFactSettings () {
    var set = localStorage.getItem ('po_ffm_faction_settings');
    if (!set) return;

    // Load Friends... [Friends:Factions:Union;Federation|Alliances:The Triad;Scorpion Guard|Individuals:Bocaj;Serkses;Webxro;Carolus Rex][Foes:Factions:Empire|Alliances:The Chaos Order;Technocracy|Individuals:Baal;Tgow]
    var strs = set.split ('[Friends')[1].split("]");
    var str = strs[0];
    var set = strs[1];
    
    // Load Friend Factions
    var frFactions = str.split('Factions:')[1].split('|')[0];
    var frFactionsList = FFMGetList (frFactions);
    var list = document.getElementById('ffm_faction_friends_fact_list');
    if (list) {
        list.innerHTML = frFactionsList;
    }
    
    // Load Friend Alliances
    var frAlly = str.split('Alliances:')[1].split('|')[0];
    var frAllyList = FFMGetList (frAlly);
    var list = document.getElementById('ffm_faction_friends_ally_list');
    if (list) {
        list.innerHTML = frAllyList;
    }
    
    // Load Foes... [Friends:Factions:Union;Federation;|Alliances:The Triad;Scorpion Guard;|Individuals:Bocaj;Serkses;Webxro;Carolus Rex;][Foes:Factions:Empire;|Alliances:The Chaos Order;Technocracy;|Individuals:Baal;Tgow;]
    var strs = set.split ('[Foes')[1].split("]");
    var str = strs[0];
    var set = strs[1];
    
    // Load Friend Factions
    var frFactions = str.split('Factions:')[1].split('|')[0];
    var frFactionsList = FFMGetList (frFactions);
    var list = document.getElementById('ffm_faction_foes_fact_list');
    if (list) {
        list.innerHTML = frFactionsList;
    }
    
    // Load Friend Alliances
    var frAlly = str.split('Alliances:')[1].split('|')[0];
    var frAllyList = FFMGetList (frAlly);
    var list = document.getElementById('ffm_faction_foes_ally_list');
    if (list) {
        list.innerHTML = frAllyList;
    }
}

function FFMGetList (str) {
    if (!str) return "";
    
    var items = str.split (';');
    var list = "";
    for (var i=1; i<items.length-1; i++) {
        list += "<option>"+items[i]+"</option>";
    }
    return list;
}

function FFMgetSourceFaction () {
    if (document.getElementById("ffm_source_look").checked) return FFMfindPanel ("add_faction_friend").f_all;
    if (document.getElementById("ffm_source_friends").checked) return FFMfindPanel ("remove_faction", 0).f;
    if (document.getElementById("ffm_source_foes").checked) return FFMfindPanel ("remove_faction", 1).f;
    return null;
}

function FFMgetSourceAlly () {
    if (document.getElementById("ffm_source_look").checked) return FFMfindPanel ("add_alliance_friend").a_all;
    if (document.getElementById("ffm_source_friends").checked) return FFMfindPanel ("remove_alliance", 0).a;
    if (document.getElementById("ffm_source_foes").checked) return FFMfindPanel ("remove_alliance", 1).a;
    return null;
}

function FFMfindPanel (inputName, index) {
    var inps = document.getElementsByTagName ("input");
    var frm = null;
    index = index==null?0:index;
    var ind = 0;
    for (var i=0; i<inps.length; i++) {
        if (inps[i].getAttribute ("name") == inputName) {
            if (ind == index) {
                frm = inps[i].parentNode;
                break;
            } else ind ++;
        }
    }
    return frm;
}

function FFMselectedAlly () {
    var sel = FFMgetSourceAlly ();
    if (sel && sel.selectedIndex != -1)
        return sel.options[sel.selectedIndex].textContent;
    return null;
}

function FFMselectedFact () {
    var sel = FFMgetSourceFaction ();
    if (sel && sel.selectedIndex != -1) {    
        return sel.options[sel.selectedIndex].textContent;
    }
    return null;
}

function FFMaddMyFriendAlly (alertIfExists) {
    var set = localStorage.getItem ('po_ffm_my_settings');
    if (!set) set = "[Friends:Factions:|Alliances:|Individuals:][Foes:Factions:|Alliances:|Individuals:]";
    var item = FFMselectedAlly();
    if (!item) return false;
    if (set.indexOf(";"+item+";")!=-1 || set.indexOf(":"+item+";")!=-1) {
        if (alertIfExists == true) alert("This alliance/faction already exists in either friends or foes list. You have to remove them first.");
        return false;
    }
    
    var ff = set.split("|Individuals:");
    set = ff[0]+item+";|Individuals:"+ff[1]+"|Individuals:"+ff[2];
    localStorage.setItem ('po_ffm_my_settings', set);
    return true;
}


function FFMaddMyFoeAlly (alertIfExists) {
    var set = localStorage.getItem ('po_ffm_my_settings');
    if (!set) set = "[Friends:Factions:|Alliances:|Individuals:][Foes:Factions:|Alliances:|Individuals:]";
    var item = FFMselectedAlly();
    if (!item) return false;
    if (set.indexOf(";"+item+";")!=-1 || set.indexOf(":"+item+";")!=-1) {
        if (alertIfExists == true) alert("This alliance/faction already exists in either friends or foes list. You have to remove them first.");
        return false;
    }
    
    var ff = set.split("|Individuals:");
    set = ff[0]+"|Individuals:"+ff[1]+item+";|Individuals:"+ff[2];
    localStorage.setItem ('po_ffm_my_settings', set);
    return true;
}

function FFMaddMyFriendFact (alertIfExists) {
    var set = localStorage.getItem ('po_ffm_my_settings');
    if (!set) set = "[Friends:Factions:|Alliances:|Individuals:][Foes:Factions:|Alliances:|Individuals:]";
    var item = FFMselectedFact();
    if (!item) return false;
    if (set.indexOf(";"+item+";")!=-1 || set.indexOf(":"+item+";")!=-1) {
        if (alertIfExists == true) alert("This alliance/faction already exists in either friends or foes list. You have to remove them first.");
        return false;
    }
    
    var ff = set.split("|Alliances:");
    set = ff[0]+item+";|Alliances:"+ff[1]+"|Alliances:"+ff[2];
    localStorage.setItem ('po_ffm_my_settings', set);
    return true;
}

function FFMaddMyFoeFact (alertIfExists) {
    var set = localStorage.getItem ('po_ffm_my_settings');
    if (!set) set = "[Friends:Factions:|Alliances:|Individuals:][Foes:Factions:|Alliances:|Individuals:]";
    var item = FFMselectedFact();
    if (!item) return false;
    if (set.indexOf(";"+item+";")!=-1 || set.indexOf(":"+item+";")!=-1) {
        if (alertIfExists == true) alert("This alliance/faction already exists in either friends or foes list. You have to remove them first.");
        return false;
    }
    
    var ff = set.split("|Alliances:");
    set = ff[0]+"|Alliances:"+ff[1]+item+";|Alliances:"+ff[2];
    localStorage.setItem ('po_ffm_my_settings', set);
    return true;
}

function FFMaddFFriendAlly (alertIfExists) {
    var set = localStorage.getItem ('po_ffm_faction_settings');
    if (!set) set = "[Friends:Factions:|Alliances:|Individuals:][Foes:Factions:|Alliances:|Individuals:]";
    var item = FFMselectedAlly();
    if (!item) return false;
    if (set.indexOf(";"+item+";")!=-1 || set.indexOf(":"+item+";")!=-1) {
        if (alertIfExists == true) alert("This alliance/faction already exists in either friends or foes list. You have to remove them first.");
        return false;
    }
    
    var ff = set.split("|Individuals:");
    set = ff[0]+item+";|Individuals:"+ff[1]+"|Individuals:"+ff[2];
    localStorage.setItem ('po_ffm_faction_settings', set);
    return true;
}

function FFMaddFFoeAlly (alertIfExists) {
    var set = localStorage.getItem ('po_ffm_faction_settings');
    if (!set) set = "[Friends:Factions:|Alliances:|Individuals:][Foes:Factions:|Alliances:|Individuals:]";
    var item = FFMselectedAlly();
    if (!item) return false;
    if (set.indexOf(";"+item+";")!=-1 || set.indexOf(":"+item+";")!=-1) {
        if (alertIfExists == true) alert("This alliance/faction already exists in either friends or foes list. You have to remove them first.");
        return false;
    }
    
    var ff = set.split("|Individuals:");
    set = ff[0]+"|Individuals:"+ff[1]+item+";|Individuals:"+ff[2];
    localStorage.setItem ('po_ffm_faction_settings', set);
    return true;
}

function FFMaddFFriendFact (alertIfExists) {
    var set = localStorage.getItem ('po_ffm_faction_settings');
    if (!set) set = "[Friends:Factions:|Alliances:|Individuals:][Foes:Factions:|Alliances:|Individuals:]";
    var item = FFMselectedFact();
    if (!item) return false;
    if (set.indexOf(";"+item+";")!=-1 || set.indexOf(":"+item+";")!=-1) {
        if (alertIfExists == true) alert("This alliance/faction already exists in either friends or foes list. You have to remove them first.");
        return false;
    }
    
    var ff = set.split("|Alliances:");
    set = ff[0]+item+";|Alliances:"+ff[1]+"|Alliances:"+ff[2];
    localStorage.setItem ('po_ffm_faction_settings', set);
    return true;
}

function FFMaddFFoeFact (alertIfExists) {
    var set = localStorage.getItem ('po_ffm_faction_settings');
    if (!set) set = "[Friends:Factions:|Alliances:|Individuals:][Foes:Factions:|Alliances:|Individuals:]";
    var item = FFMselectedFact();
    if (!item) return false;
    if (set.indexOf(";"+item+";")!=-1 || set.indexOf(":"+item+";")!=-1) {
        if (alertIfExists == true) alert("This alliance/faction already exists in either friends or foes list. You have to remove them first.");
        return false;
    }
    
    var ff = set.split("|Alliances:");
    set = ff[0]+"|Alliances:"+ff[1]+item+";|Alliances:"+ff[2];
    localStorage.setItem ('po_ffm_faction_settings', set);
    return true;
}

function FFMremoveMyFriendAlly () {
    var set = localStorage.getItem ('po_ffm_my_settings');
    if (!set) return;

    var list = document.getElementById('ffm_my_friends_ally_list');
    if (!list || list.selectedIndex == -1) return;
    var item = list.options[list.selectedIndex].textContent;

    var ff = set.split(item+";");
    set = ff[0]+ff[1];
    localStorage.setItem ('po_ffm_my_settings', set);
}

function FFMremoveMyFoeAlly () {
    var set = localStorage.getItem ('po_ffm_my_settings');
    if (!set) return;

    var list = document.getElementById('ffm_my_foes_ally_list');
    if (!list || list.selectedIndex == -1) return;
    var item = list.options[list.selectedIndex].textContent;

    var ff = set.split(item+";");
    set = ff[0]+ff[1];
    localStorage.setItem ('po_ffm_my_settings', set);
}

function FFMremoveMyFriendFact () {
    var set = localStorage.getItem ('po_ffm_my_settings');
    if (!set) return;

    var list = document.getElementById('ffm_my_friends_fact_list');
    if (!list || list.selectedIndex == -1) return;
    var item = list.options[list.selectedIndex].textContent;

    var ff = set.split(item+";");
    set = ff[0]+ff[1];
    localStorage.setItem ('po_ffm_my_settings', set);
}

function FFMremoveMyFoeFact () {
    var set = localStorage.getItem ('po_ffm_my_settings');
    if (!set) return;

    var list = document.getElementById('ffm_my_foes_fact_list');
    if (!list || list.selectedIndex == -1) return;
    var item = list.options[list.selectedIndex].textContent;

    var ff = set.split(item+";");
    set = ff[0]+ff[1];
    localStorage.setItem ('po_ffm_my_settings', set);
}

function FFMremoveFFriendAlly () {
    var set = localStorage.getItem ('po_ffm_faction_settings');
    if (!set) return;

    var list = document.getElementById('ffm_faction_friends_ally_list');
    if (!list || list.selectedIndex == -1) return;
    var item = list.options[list.selectedIndex].textContent;

    var ff = set.split(item+";");
    set = ff[0]+ff[1];
    localStorage.setItem ('po_ffm_faction_settings', set);
}

function FFMremoveFFoeAlly () {
    var set = localStorage.getItem ('po_ffm_faction_settings');
    if (!set) return;

    var list = document.getElementById('ffm_faction_foes_ally_list');
    if (!list || list.selectedIndex == -1) return;
    var item = list.options[list.selectedIndex].textContent;

    var ff = set.split(item+";");
    set = ff[0]+ff[1];
    localStorage.setItem ('po_ffm_faction_settings', set);
}

function FFMremoveFFriendFact () {
    var set = localStorage.getItem ('po_ffm_faction_settings');
    if (!set) return;

    var list = document.getElementById('ffm_faction_friends_fact_list');
    if (!list || list.selectedIndex == -1) return;
    var item = list.options[list.selectedIndex].textContent;

    var ff = set.split(item+";");
    set = ff[0]+ff[1];
    localStorage.setItem ('po_ffm_faction_settings', set);
}

function FFMremoveFFoeFact () {
    var set = localStorage.getItem ('po_ffm_faction_settings');
    if (!set) return;

    var list = document.getElementById('ffm_faction_foes_fact_list');
    if (!list || list.selectedIndex == -1) return;
    var item = list.options[list.selectedIndex].textContent;

    var ff = set.split(item+";");
    set = ff[0]+ff[1];
    localStorage.setItem ('po_ffm_faction_settings', set);
}

function FFMloadFromServer () {
    var url = POgetServerUrl ("jirinatest/po_ffm_feed.php", false);
    var params = POgetServerParams ();
    var callback = function (httpRequest) {
//POlog ("po_ffm_dipl: Response: ReadyState:"+httpRequest.readyState+" Status:"+httpRequest.status);
        if (httpRequest.readyState == 4 && httpRequest.status == 200) {
            var response = httpRequest.responseText;
            var div = document.createElement ("div");
            div.innerHTML = response;
            localStorage.setItem ('po_ffm_faction_settings', div.firstChild.textContent);
            localStorage.setItem ("po_ffm_lastCheck", String((new Date().getTime())));
            FFMloadFactSettings ();
//POlog ("po_ffm_dipl: Data arrived:"+response);
            //setTimeout(SDOrefreshData,300000);
            //if (cb) {
            //    cb();
            //}
        }
    }
        
    POajaxPost (url, "GET", params, callback);
}

function FFMsendToServer () {
    var url = POgetServerUrl ("jirinatest/po_ffm_feed.php", false);
    var params = POgetServerParams ();
    params += "&ffsettings="+localStorage.getItem ('po_ffm_faction_settings');

        
    POajaxPost (url, "POST", params);
}

window.onload = FFMinstallUI;